﻿using MongoDB.Bson.Serialization.Attributes;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace YamrSyncDemo.YammerData
{
    [DataContract]
    public class YammerNetwork
    {
        [DataMember(Name = "user_id")]
        public long UserID { get; set; }

        [BsonId]
        [DataMember(Name = "network_id")]
        public long NetworkID  { get; set; }

        [DataMember(Name = "network_permalink")]
        public string NetworkPermalink { get; set; }

        [DataMember(Name = "network_name")]
        public string NetworkName { get; set; }

        [BsonIgnore]
        [DataMember(Name = "token")]
        public string Token { get; set; }

        [BsonIgnore]
        [DataMember(Name = "secret")]
        public string Secret { get; set; }

        [DataMember(Name = "view_members")]
        public bool ViewMembers { get; set; }

        [DataMember(Name = "view_groups")]
        public bool ViewGroups { get; set; }

        [DataMember(Name = "view_messages")]
        public bool ViewMessages { get; set; }

        [DataMember(Name = "view_subscriptions")]
        public bool ViewSubscriptions  { get; set; }

        [DataMember(Name = "modify_subscriptions")]
        public bool ModifySubscriptions { get; set; }

        [DataMember(Name = "modify_messages")]
        public bool ModifyMessages  { get; set; }

        [DataMember(Name = "view_tags")]
        public bool ViewTags { get; set; }

        [DataMember(Name = "created_at")]
        public string CreatedAt { get; set; }

        [DataMember(Name = "authorized_at")]
        public string AuthorizedAt { get; set; }

        [DataMember(Name = "expires_at")]
        public string ExpiresAt { get; set; }
    }
}
